Technote 1101Using The GXGraphics ExtensionBy Ingrid Kelly and Robin Mikawa |
CONTENTS
Features Not Supported in Mac OS 8.0 |
Starting with Mac OS 8.0, the QuickDraw
GX environment will no longer support the GX Printing Manager API. Although this
decision will require significant changes to existing system software and applications,
it will allow us to transition to a unified printing architecture that will improve
the compatibility of QuickDraw GX software in the classic QuickDraw environment.
Mac OS 8.0 will include the GXGraphics 1.1.6 extension, which provides the advanced
Graphics and Typography capabilities of QuickDraw GX, a QuickDraw GX codec in the
QuickTime 2.5 extension, and a fully integrated version of the Collection Manager.
This Technote includes:
|
Note: |
Features Not Supported in Mac OS 8.0Following is a list of key features that are currently available in QuickDraw GX 1.1.3/1.1.5 that will no longer be available to developers under the GXGraphics 1.1.6 strategy:
|
Name | Version | Component | Gestalt Selector |
QuickDraw GX | 1.1.3, 1.1.5 | QuickDraw GX | * qdgx (obsolete) |
GX Printing | * pmgr | ||
GX Graphics | * grfx | ||
Collections Mgr | * cltn | ||
GXGraphics | 1.1.3 | GX Printing | ** |
GXGraphics | * grfx | ||
Collections Mgr | ** | ||
GXGraphics | 1.1.6 | GXGraphics | * grfx |
* APIs are exported and available
** APIs are exported but not available; you should use the gestalt selector on application
launch to verify whether or not the functions are implemented.
Note: With Mac OS 8.0, the Collections Manager APIs have been rolled out of QuickDraw GX and into the system. Please see the Mac OS 8.0 Technote for more information on this transition. |
Application ChangesSince the GX printing architecture will no longer be supported for Mac OS, any software that does not already have a solution using classic QuickDraw printing will need to be updated. For the majority of applications, the recommended solution for Mac OS 8.0 is to use the QuickTime compression/decompression mechanism for imaging QuickDraw GX data. The basic technique is to encapsulate the QuickDraw GX image in a compressed data format using the object flattening functions from QuickDraw GX. Once the compressed image data is created, it may be passed to the QuickDraw GX codec and drawn using the QuickTime image compression functions or embedded within a QuickDraw picture and drawn using the DrawPicture function. In either case, the compressed data is passed to the the low-level QuickDraw drawing routines through the StdPix bottleneck routine. StdPix decompresses the data using the QuickDraw GX codec and passes the decompressed data to the bitsProc bottleneck routine when rendering the image. LaserWriter drivers starting with version 8.3 recognize compressed data that may
be drawn using QuickTime, like QuickDraw GX flattened objects. For Mac OS 8.0, the
LaserWriter driver has been modified to render the QuickDraw GX data at the device
resolution of the printer. When despooling, the printer driver changes the resolution
of the offscreen drawing port and uses the QuicDraw GX codec to rasterize the compressed data.
The QuickDraw printer drivers from Apple render the compressed data during spooling and use
the resolution of the active graphics port. Application developers may wish to use the device
resolution commands of the General Changes For All ApplicationsThe sample code for this Technote includes updated versions of three QuickDraw GX
user libraries,
Specific Changes Required Based on Level of SupportHere is an outline of the changes GX applications will need to make. They are outlined according to the level of GX support. GX Unaware (no knowledge of GX)
Additional ChangesCustom Page formatting:
GX Printing Extension ChangesPrinting extensions have been used for a wide variety of things in the history of GXPrinting. However, despite their potential for optimizing printing from certain kinds of applications, they have never been developed or used to their full potential by many developers. Unfortunately, under the new GX model , GX extensions are no longer available. Some of the functionality that developers have used GX extensions for can be rolled into classic applications or drivers, but that will have to be determined by the developer on a case-by-case basis. GX Printer Driver ChangesUnder the new GX model, GX printer drivers will no longer be supported. There is no transition plan for these drivers. Classic Printer Driver ChangesIn the world of GXGraphics 1.1.6 it will be desirable to print GX objects to classic printer
drivers. PDD ChangesUnder the new GX architecture, there is no way to author PDD documents. Also, SimpleText
will not display PDD's under QuickDraw GX 1.1.6. You should convert PDD files to a different
format, such as Adobe Acrobat PDF files, before attempting to use them with Mac OS 8 or QuickDraw GX
1.1.6. Incompatibilities and LimitationsThis section describes the known incompatibilities and limitations, and their solutions for the GXGraphics 1.1.6 extension:
Where to Get GXGraphics 1.1.6 and How to License itThe GXGraphics 1.1.6 extension:
SummaryBy simply following the above steps, you should easily be able to convert your GX applications into a viewable applications that your users will be able to use without having the complete GX extension installed. |
|
Thanks to Paul Danbold, David Goldsmith, David Hayward, Dan Lipton, and Dave Opstad.
Technotes
Previous Technote |
Next Technote |
Contents